﻿using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CestoDoBebe.DAO;
using System.Drawing;
using System.IO;
using System.Net.Mail;
using System.Net;

namespace CestodoBebe
{
    public partial class cadastroProduto : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // Preenche combo de categoria
                Categoria objCategoria = new Categoria();
                objCategoria.listaCategorias = objCategoria.listarCategoriasAtivas();

                ddlcategoria.DataTextField = "NMECATEGORIAPRODUTO";
                ddlcategoria.DataValueField = "CODCATEGORIAPRODUTO";
                ddlcategoria.DataSource = objCategoria.listaCategorias;
                ddlcategoria.DataBind();

                ddlcategoria.Items.Insert(0, "<< SELECIONE >>");

                // Preenche combo de tipo de anuncio
                TipoAnuncio objTipoAnuncio = new TipoAnuncio();
                objTipoAnuncio.listaTipoAnuncio = objTipoAnuncio.listarTiposAnunciosAtivos();

                ddlTipoAnuncio.DataTextField = "nmeTipoAnuncio";
                ddlTipoAnuncio.DataValueField = "codTipoAnuncio";
                ddlTipoAnuncio.DataSource = objTipoAnuncio.listaTipoAnuncio;
                ddlTipoAnuncio.DataBind();

                ddlTipoAnuncio.Items.Insert(0, "<< SELECIONE >>");

                //if (Session["cod_usuario"] != null)
                //{

                //    List<ImagensProduto> imagens = new ImagensProduto().ListaImagensProduto(Convert.ToInt16(Session["cod_usuario"].ToString()), 6);
                //    try
                //    {
                //        gdvImagens.DataSource = imagens;
                //        gdvImagens.DataBind();
                //    }
                //    catch (Exception ex)
                //    {
                //        lblMsg.Text = ex.Message;
                //    }
                //}


            }

        }

        protected void btnConfirmar_Click(object sender, EventArgs e)
        {
            Produto produto = new Produto();
            produto.NomeProduto = txtProduto.Text;
            produto.Descricao = txtDescricao.Text;
            
            produto.Categoria = new Categoria();
            produto.Categoria.codCategoriaProduto = Convert.ToInt16(ddlcategoria.SelectedItem.Value);

            produto.TipoAnuncio = new TipoAnuncio();
            produto.TipoAnuncio.codTipoAnuncio = Convert.ToInt16(ddlTipoAnuncio.SelectedItem.Value);
            produto.Qtde = Convert.ToInt16(txtQtde.Text);
            produto.CEP = txtCEP.Text;

            produto.USuario = new Usuario();
            produto.USuario.CodUsuario = Convert.ToInt16(Session["cod_usuario"].ToString()); 

            produto.CodProduto = produto.incluirProduto(produto);

            if (fupImagem1.PostedFile.FileName != "")
            {
                string nomeArquivo = Path.GetFileName(fupImagem1.PostedFile.FileName);

                //Salva o arquivo no disco
                fupImagem1.SaveAs(Server.MapPath("ImagensProdutos/" + nomeArquivo));

                try
                {
                    //abre e executa o comando para salvar os dados na tabela
                    ImagensProduto imagem = new ImagensProduto();
                    imagem.CodProduto = produto.CodProduto;
                    imagem.CodUsuario = Convert.ToInt16(Session["cod_usuario"].ToString());
                    imagem.Url = "ImagensProdutos/" + nomeArquivo;

                    if (imagem.InsereImagens(imagem))
                    {
                        lblMsg.Text = "Imagem incluída com sucesso...";
                    }
                    else { lblMsg.Text = "Erro ao incluir imagem 1..."; }
                }
                catch (Exception ex)
                {
                    lblMsg.Text = ex.Message;
                }

            }


            if (fupImagem2.PostedFile.FileName != "")
            {
                string nomeArquivo = Path.GetFileName(fupImagem2.PostedFile.FileName);

                //Salva o arquivo no disco
                fupImagem2.SaveAs(Server.MapPath("ImagensProdutos/" + nomeArquivo));

                try
                {
                    //abre e executa o comando para salvar os dados na tabela
                    ImagensProduto imagem = new ImagensProduto();
                    imagem.CodProduto = 1;
                    imagem.CodUsuario = 1;
                    imagem.Url = "ImagensProdutos/" + nomeArquivo;

                    imagem.InsereImagens(imagem);

                    lblMsg.Text = "Imagem incluída com sucesso...";
                }
                catch (Exception ex)
                {
                    lblMsg.Text = ex.Message;
                }

            }

            if (fupImagem3.PostedFile.FileName != "")
            {
                string nomeArquivo = Path.GetFileName(fupImagem3.PostedFile.FileName);

                //Salva o arquivo no disco
                fupImagem3.SaveAs(Server.MapPath("ImagensProdutos/" + nomeArquivo));

                try
                {
                    //abre e executa o comando para salvar os dados na tabela
                    ImagensProduto imagem = new ImagensProduto();
                    imagem.CodProduto = 1;
                    imagem.CodUsuario = 1;
                    imagem.Url = "ImagensProdutos/" + nomeArquivo;

                    imagem.InsereImagens(imagem);

                    lblMsg.Text = "Imagem incluída com sucesso...";
                }
                catch (Exception ex)
                {
                    lblMsg.Text = ex.Message;
                }

            }

            if (fupImagem4.PostedFile.FileName != "")
            {
                string nomeArquivo = Path.GetFileName(fupImagem4.PostedFile.FileName);

                //Salva o arquivo no disco
                fupImagem4.SaveAs(Server.MapPath("ImagensProdutos/" + nomeArquivo));

                try
                {
                    //abre e executa o comando para salvar os dados na tabela
                    ImagensProduto imagem = new ImagensProduto();
                    imagem.CodProduto = 1;
                    imagem.CodUsuario = 1;
                    imagem.Url = "ImagensProdutos/" + nomeArquivo;

                    imagem.InsereImagens(imagem);

                    lblMsg.Text = "Imagem incluída com sucesso...";
                }
                catch (Exception ex)
                {
                    lblMsg.Text = ex.Message;
                }

            }

            if (fupImagem5.PostedFile.FileName != "")
            {
                string nomeArquivo = Path.GetFileName(fupImagem5.PostedFile.FileName);

                //Salva o arquivo no disco
                fupImagem5.SaveAs(Server.MapPath("ImagensProdutos/" + nomeArquivo));

                try
                {
                    //abre e executa o comando para salvar os dados na tabela
                    ImagensProduto imagem = new ImagensProduto();
                    imagem.CodProduto = 1;
                    imagem.CodUsuario = 1;
                    imagem.Url = "ImagensProdutos/" + nomeArquivo;

                    imagem.InsereImagens(imagem);

                    lblMsg.Text = "Imagem incluída com sucesso...";
                }
                catch (Exception ex)
                {
                    lblMsg.Text = ex.Message;
                }

            }

            if (Session["cod_usuario"] != null)
            {

                List<ImagensProduto> imagens = new ImagensProduto().ListaImagensProduto(Convert.ToInt16(Session["cod_usuario"].ToString()), produto.CodProduto);
                try
                {
                    gdvImagens.DataSource = imagens;
                    gdvImagens.DataBind();
                }
                catch (Exception ex)
                {
                    lblMsg.Text = ex.Message;
                }
            }
        }
    }
}